home *** CD-ROM | disk | FTP | other *** search
/ Champak 54 / Vol 54.iso / games / washing.swf / scripts / frame_53 / DoAction.as
Encoding:
Text File  |  2007-10-01  |  14.6 KB  |  602 lines

  1. function init()
  2. {
  3.    Score_Num();
  4.    Count_Num();
  5.    tmpDepth = 0;
  6.    Num_sub.gotoAndStop(3);
  7.    trace("---------------------∞┤êΩ╕░φÖö ∞àïφîà δü¥---------------------");
  8.    var i = 1;
  9.    while(i <= 3)
  10.    {
  11.       eval("bfGold_mc" + i).Xpos = eval("bfGold_mc" + i)._x;
  12.       eval("bfGold_mc" + i).Ypos = eval("bfGold_mc" + i)._y;
  13.       i++;
  14.    }
  15. }
  16. function Count_Num()
  17. {
  18.    var i = 1;
  19.    while(i <= 3)
  20.    {
  21.       fBingoCount["bc" + i]._visible = false;
  22.       i++;
  23.    }
  24.    var CN_s = bingoCount.toString();
  25.    var CN_l = CN_s.length;
  26.    var cn1 = CN_s.substr(CN_l - 1,1);
  27.    var cn2 = CN_s.substr(CN_l - 2,1);
  28.    var cn3 = CN_s.substr(CN_l - 3,1);
  29.    var i = 1;
  30.    while(i <= CN_l)
  31.    {
  32.       fBingoCount["bc" + i]._visible = true;
  33.       fBingoCount["bc" + i].gotoAndStop(Number(eval("cn" + i)) + 1);
  34.       i++;
  35.    }
  36. }
  37. function Score_Num()
  38. {
  39.    var i = 1;
  40.    while(i <= 5)
  41.    {
  42.       fscore["sc" + i]._visible = false;
  43.       i++;
  44.    }
  45.    var SC_s = score.toString();
  46.    var SC_l = SC_s.length;
  47.    var sn1 = SC_s.substr(SC_l - 1,SC_l);
  48.    var sn2 = SC_s.substr(SC_l - 2,1);
  49.    var sn3 = SC_s.substr(SC_l - 3,1);
  50.    var sn4 = SC_s.substr(SC_l - 4,1);
  51.    var sn5 = SC_s.substr(SC_l - 5,1);
  52.    var i = 1;
  53.    while(i <= SC_l)
  54.    {
  55.       fscore["sc" + i]._visible = true;
  56.       fscore["sc" + i].gotoAndStop(Number(eval("sn" + i)) + 1);
  57.       i++;
  58.    }
  59. }
  60. function startGame()
  61. {
  62.    trace("-------------Game Start-------------------------");
  63.    this.createEmptyMovieClip("blank",20000);
  64.    this.createEmptyMovieClip("box_mc",1);
  65.    blocks = new Array();
  66.    blank._visible = false;
  67.    var _loc4_ = 0;
  68.    while(_loc4_ < Row)
  69.    {
  70.       blocks[_loc4_] = new Array();
  71.       var _loc3_ = 0;
  72.       while(_loc3_ < Col)
  73.       {
  74.          depth = _loc4_ * Col + _loc3_;
  75.          var _loc2_ = box_mc.attachMovie("block_mc","block_mc" + depth,depth);
  76.          blocks[_loc4_][_loc3_] = _loc2_._currentframe;
  77.          _loc2_._x = _loc3_ * (w + s) + 220.5;
  78.          _loc2_._y = _loc4_ * (h + s) + 45.5;
  79.          _loc2_.i = _loc4_;
  80.          _loc2_.j = _loc3_;
  81.          _loc2_.addListener(this);
  82.          _loc3_ = _loc3_ + 1;
  83.       }
  84.       _loc4_ = _loc4_ + 1;
  85.    }
  86.    generate();
  87. }
  88. function block_press(status)
  89. {
  90.    var _l4 = 0;
  91.    while(_l4 < Row)
  92.    {
  93.       var _loc4_ = 0;
  94.       while(_loc4_ < Col)
  95.       {
  96.          depth = _l4 * Col + _loc4_;
  97.          var _loc3_ = box_mc["block_mc" + depth];
  98.          _loc3_.Num = depth;
  99.          if(status == true && _loc3_._currentframe == 1 || status == true && _loc3_.status == "dele")
  100.          {
  101.             _loc3_.onRelease = function()
  102.             {
  103.                _root.PV();
  104.                score += 10;
  105.                setS.gotoAndPlay(2);
  106.                Score_Num();
  107.                delete_Items();
  108.                put(frame,_l4);
  109.                total_block++;
  110.                this.gotoAndStop((frame - 2) * 9 + 2);
  111.                frame = 0;
  112.                removeMovieClip(flyObj);
  113.                blocks[(this.Num - this.Num % Col) / Col][this.Num % Col] = this._currentframe;
  114.                if(bfGold_mc1._currentframe == 1 || bfGold_mc2._currentframe == 1 || bfGold_mc3._currentframe == 1)
  115.                {
  116.                   line_check();
  117.                }
  118.                block_press(false);
  119.                if(total_block >= 25)
  120.                {
  121.                   trace("---------------Game Over ----------------------");
  122.                   _root.fGetItem[_root.Get] = score + "$";
  123.                   _root.Get = _root.Get + 1;
  124.                   gotoAndStop(54);
  125.                }
  126.             };
  127.          }
  128.          else
  129.          {
  130.             delete _loc3_.onRelease;
  131.          }
  132.          _loc4_ = _loc4_ + 1;
  133.       }
  134.       _l4++;
  135.    }
  136. }
  137. function line_check()
  138. {
  139.    trace("------------- line checking-------------------");
  140.    var _loc4_ = 0;
  141.    var _loc5_ = 0;
  142.    var _loc8_ = 500;
  143.    while(_loc4_ < Row)
  144.    {
  145.       if(blocks[_loc4_][0] != 1)
  146.       {
  147.          var _loc7_ = blocks[_loc4_][0];
  148.          Item_sNum = _loc7_;
  149.       }
  150.       var _loc2_ = 0;
  151.       while(_loc2_ < Col)
  152.       {
  153.          if(_loc7_ == blocks[_loc4_][_loc2_])
  154.          {
  155.             _loc5_ = _loc5_ + 1;
  156.          }
  157.          if(_loc5_ == 5)
  158.          {
  159.             bingoMsg(_loc4_,_loc2_,1);
  160.          }
  161.          _loc2_ = _loc2_ + 1;
  162.       }
  163.       _loc5_ = 0;
  164.       _loc4_ = _loc4_ + 1;
  165.    }
  166.    var _loc3_ = 0;
  167.    var _loc6_ = 0;
  168.    while(_loc3_ < Col)
  169.    {
  170.       if(blocks[0][_loc3_] != 1)
  171.       {
  172.          _loc7_ = blocks[0][_loc3_];
  173.          Item_sNum = _loc7_;
  174.       }
  175.       var _loc1_ = 0;
  176.       while(_loc1_ < Row)
  177.       {
  178.          if(_loc7_ == blocks[_loc1_][_loc3_])
  179.          {
  180.             _loc6_ = _loc6_ + 1;
  181.          }
  182.          if(_loc6_ == 5)
  183.          {
  184.             bingoMsg(_loc1_,_loc3_,2);
  185.          }
  186.          _loc1_ = _loc1_ + 1;
  187.       }
  188.       _loc6_ = 0;
  189.       _loc3_ = _loc3_ + 1;
  190.    }
  191.    if(blocks[0][0] != 1)
  192.    {
  193.       if(blocks[0][0] == blocks[1][1] && blocks[2][2] == blocks[3][3] && blocks[2][2] == blocks[4][4] && blocks[1][1] == blocks[2][2])
  194.       {
  195.          _loc7_ = blocks[0][0];
  196.          Item_sNum = _loc7_;
  197.          bingoMsg(0,0,3);
  198.       }
  199.    }
  200.    if(blocks[0][4] != 1)
  201.    {
  202.       if(blocks[0][4] == blocks[1][3] && blocks[2][2] == blocks[3][1] && blocks[2][2] == blocks[4][0] && blocks[1][3] == blocks[2][2])
  203.       {
  204.          _loc7_ = blocks[0][4];
  205.          Item_sNum = _loc7_;
  206.          bingoMsg(0,4,4);
  207.       }
  208.    }
  209. }
  210. function initRemovedBlock(i, j, k)
  211. {
  212.    trace("------------block remove ---------------");
  213.    total_block -= 5;
  214.    if(k == 1)
  215.    {
  216.       var _loc1_ = 0;
  217.       while(_loc1_ <= 4)
  218.       {
  219.          blocks[i][_loc1_] = 1;
  220.          box_mc["block_mc" + (Number(i * 5) + Number(_loc1_))].gotoAndStop(1);
  221.          _loc1_ = _loc1_ + 1;
  222.       }
  223.    }
  224.    else if(k == 2)
  225.    {
  226.       _loc1_ = 0;
  227.       while(_loc1_ <= 4)
  228.       {
  229.          blocks[_loc1_][j] = 1;
  230.          box_mc["block_mc" + (Number(_loc1_ * 5) + Number(j))].gotoAndStop(1);
  231.          _loc1_ = _loc1_ + 1;
  232.       }
  233.    }
  234.    else if(k == 3)
  235.    {
  236.       _loc1_ = 0;
  237.       while(_loc1_ <= 4)
  238.       {
  239.          blocks[i + _loc1_][j + _loc1_] = 1;
  240.          box_mc["block_mc" + (Number((i + _loc1_) * 5) + Number(j + _loc1_))].gotoAndStop(1);
  241.          _loc1_ = _loc1_ + 1;
  242.       }
  243.    }
  244.    else if(k == 4)
  245.    {
  246.       _loc1_ = 0;
  247.       while(_loc1_ <= 4)
  248.       {
  249.          blocks[i + _loc1_][j - _loc1_] = 1;
  250.          box_mc["block_mc" + (Number((i + _loc1_) * 5) + Number(j - _loc1_))].gotoAndStop(1);
  251.          _loc1_ = _loc1_ + 1;
  252.       }
  253.    }
  254.    if(Item_sNum == 2)
  255.    {
  256.       goFrame = 2;
  257.    }
  258.    else
  259.    {
  260.       goFrame = (Item_sNum - 2) / 9 + 2;
  261.    }
  262.    if(bfGold_mc1._currentframe == 1)
  263.    {
  264.       bfGold_mc1.gotoAndStop(goFrame);
  265.       Item_Num = 1;
  266.    }
  267.    else if(bfGold_mc2._currentframe == 1)
  268.    {
  269.       bfGold_mc2.gotoAndStop(goFrame);
  270.       Item_Num = 2;
  271.    }
  272.    else if(bfGold_mc3._currentframe == 1)
  273.    {
  274.       bfGold_mc3.gotoAndStop(goFrame);
  275.       Item_Num = 3;
  276.    }
  277.    if(bfGold_mc1._currentframe != 1 && bfGold_mc2._currentframe != 1 && bfGold_mc3._currentframe != 1)
  278.    {
  279.       fani.gotoAndPlay("bad");
  280.    }
  281.    delete_Items();
  282.    item_Drag(Item_Num);
  283. }
  284. function delete_Items()
  285. {
  286.    if(Num_sub._currentframe != 1)
  287.    {
  288.       de_Item.onRelease = function()
  289.       {
  290.          _root.PV();
  291.          trace("del_Item Click---------------------------------");
  292.          Num_sub.prevFrame();
  293.          rePosition(this);
  294.          iTems_status = true;
  295.          Item_delete();
  296.          disableClick(this);
  297.       };
  298.    }
  299.    else if(Num_sub._currentframe == 1)
  300.    {
  301.       delete de_Item.onRelease;
  302.    }
  303. }
  304. function rePosition(obj)
  305. {
  306.    delete_Items();
  307.    de_Item.status = "stop";
  308.    de_Items.stopDrag();
  309.    de_Items._x = 1000;
  310.    block_press(false);
  311.    iTems_status = false;
  312.    var i = 0;
  313.    while(i <= 4)
  314.    {
  315.       box_mc["butterfly_mc100" + i].status = "stop";
  316.       setHomeNumber(box_mc["butterfly_mc100" + i],i);
  317.       i++;
  318.    }
  319.    washer["complite_item" + itemGoldDepth].status = "stop";
  320.    eval("bfGold_mc" + Item_Num).gotoAndStop(washer["complite_item" + itemGoldDepth]._currentframe);
  321.    item_Drag(Item_Num);
  322.    washer["complite_item" + itemGoldDepth].stopDrag();
  323.    washer["complite_item" + itemGoldDepth]._x = 700;
  324.    obj.status = "drag";
  325.    if(de_Item.status == "drag")
  326.    {
  327.       Num_sub.nextFrame();
  328.    }
  329. }
  330. function Item_delete()
  331. {
  332.    trace("-------Block Delete Item ------------");
  333.    de_Items.swapDepths(topDepth);
  334.    de_Items.gotoAndPlay(2);
  335.    de_Items._x = this._xmouse;
  336.    de_Items._y = this._ymouse;
  337.    de_Items.startDrag(true);
  338.    var _loc4_ = 0;
  339.    while(_loc4_ < Row)
  340.    {
  341.       var _loc3_ = 0;
  342.       while(_loc3_ < Col)
  343.       {
  344.          depth = _loc4_ * Col + _loc3_;
  345.          mClip = box_mc["block_mc" + depth];
  346.          if(mClip._currentframe != 1)
  347.          {
  348.             mClip.onRelease = function()
  349.             {
  350.                _root.PV();
  351.                deleteS.gotoAndPlay(2);
  352.                this.play();
  353.                blocks[i][j] = 1;
  354.                de_Items.stopDrag();
  355.                de_Items._x = 700;
  356.                block_press(false);
  357.                total_block--;
  358.                iTems_status = false;
  359.                Num_sub.prevFrame();
  360.                delete_Items();
  361.             };
  362.          }
  363.          _loc3_ = _loc3_ + 1;
  364.       }
  365.       _loc4_ = _loc4_ + 1;
  366.    }
  367. }
  368. function item_Drag(Item_Num)
  369. {
  370.    trace("------------Item Drag ---------------------------");
  371.    getS.gotoAndPlay(2);
  372.    if(eval("bfGold_mc" + Item_Num)._currentframe != 1)
  373.    {
  374.       eval("bfGold_mc" + Item_Num).onRelease = function()
  375.       {
  376.          _root.PV();
  377.          rePosition(washer["complite_item" + itemGoldDepth]);
  378.          washer_drag(this._currentframe);
  379.          this.gotoAndStop(1);
  380.          disableClick(this);
  381.       };
  382.    }
  383. }
  384. function washer_drag(frame)
  385. {
  386.    this.createEmptyMovieClip("washer",5);
  387.    washer.attachMovie("complite_item","complite_item" + itemGoldDepth,itemGoldDepth);
  388.    washer["complite_item" + itemGoldDepth].status = "drag";
  389.    washer["complite_item" + itemGoldDepth].gotoAndStop(frame);
  390.    washer["complite_item" + itemGoldDepth]._x = this._xmouse;
  391.    washer["complite_item" + itemGoldDepth]._y = this._ymouse;
  392.    washer["complite_item" + itemGoldDepth].startDrag(true);
  393.    whsher_s.onRelease = function()
  394.    {
  395.       _root.PV();
  396.       if(washer["complite_item" + itemGoldDepth].status == "drag")
  397.       {
  398.          washer["complite_item" + itemGoldDepth].removeMovieClip();
  399.          this.gotoAndPlay("run");
  400.          clickS.gotoAndPlay(2);
  401.          fani.gotoAndPlay("good");
  402.          disableClick(this);
  403.          washer["complite_item" + itemGoldDepth].status = "wash";
  404.          de_Item_sub.nextFrame();
  405.          score += 100;
  406.          Score_Num();
  407.          line_check();
  408.          delete_Items();
  409.       }
  410.    };
  411. }
  412. function put(theblock, blo_mc)
  413. {
  414.    trace("-----------------block_Num --   Reset--------");
  415.    if(theblock != 1)
  416.    {
  417.       blockCount++;
  418.       bfCount--;
  419.       if(blockCount == 5)
  420.       {
  421.          delayTime.gotoAndPlay(2);
  422.          blockCount = 0;
  423.       }
  424.    }
  425. }
  426. function generate()
  427. {
  428.    trace("----------Generate-----------");
  429.    tmpDepth = Bdepth;
  430.    i = 4;
  431.    intervalBF();
  432.    genID = setInterval(intervalBF,200,this);
  433. }
  434. function intervalBF()
  435. {
  436.    genBFly(i);
  437.    i--;
  438.    if(i < 0)
  439.    {
  440.       clearInterval(genID);
  441.       delete i;
  442.    }
  443. }
  444. function genBFly(n)
  445. {
  446.    var _loc2_ = random(check_level + 5) + 2;
  447.    var _loc1_ = box_mc.attachMovie("butterfly_mc","butterfly_mc" + tmpDepth,tmpDepth);
  448.    _loc1_.gotoAndStop(_loc2_);
  449.    setPosition(_loc1_,505,370);
  450.    setHomeNumber(_loc1_,n);
  451.    gohome(_loc1_);
  452.    tmpDepth++;
  453.    bfCount++;
  454. }
  455. function setPosition(obj, Xpos, Ypos)
  456. {
  457.    obj._x = Xpos;
  458.    obj._y = Ypos;
  459. }
  460. function setHomeNumber(obj, n)
  461. {
  462.    delete_Items();
  463.    var _l2 = eval("home" + n);
  464.    Xpos = _l2._x;
  465.    Ypos = _l2._y;
  466.    box_mc["butterfly_mc100" + (4 - n)].onEnterFrame = function()
  467.    {
  468.       this._x += (eval("home" + n)._x - this._x) * ratio;
  469.       this._y += (eval("home" + n)._y - this._y) * ratio;
  470.       if(Math.abs(eval("home" + n)._x - this._x) < 1 && Math.abs(eval("home" + n)._y - this._y) < 1)
  471.       {
  472.          stopMove(this);
  473.       }
  474.    };
  475.    enableClick(box_mc["butterfly_mc100" + (4 - n)],n);
  476. }
  477. function gohome(obj)
  478. {
  479.    stopAni(obj);
  480.    if(obj.status == "drag")
  481.    {
  482.       clearFollow(obj);
  483.       enableClick(obj);
  484.    }
  485.    obj.status = "gohome";
  486.    startMove(obj);
  487.    obj.swapDepths(depth0);
  488. }
  489. function clearFollow(obj)
  490. {
  491.    obj.stopDrag();
  492.    delete dragged_mc;
  493. }
  494. function enableClick(obj)
  495. {
  496.    obj.onRelease = function()
  497.    {
  498.       _root.PV();
  499.       de_Item.status = "stop";
  500.       rePosition(this);
  501.       frame = this._currentframe;
  502.       block_press(true);
  503.       flyObj = this;
  504.       startFollow(this);
  505.       stopMove(this);
  506.    };
  507. }
  508. function stopMove(obj)
  509. {
  510.    delete obj.onEnterFrame;
  511. }
  512. function startFollow(obj)
  513. {
  514.    obj.status = "drag";
  515.    startAni(obj);
  516.    obj.swapDepths(topDepth);
  517.    obj.startDrag(true);
  518.    dragged_mc = obj;
  519.    disableClick(obj);
  520. }
  521. function startAni(obj)
  522. {
  523.    obj.ani.gotoAndPlay(2);
  524. }
  525. function stopAni(obj)
  526. {
  527.    obj.status = "Stop";
  528.    obj.ani.gotoAndStop(1);
  529. }
  530. function disableClick(obj)
  531. {
  532.    delete obj.onRelease;
  533.    delete_Items();
  534. }
  535. function bingoMsg(i, j, k)
  536. {
  537.    trace("---------------bingo------------");
  538.    bingoS.gotoAndPlay(2);
  539.    var _loc1_ = box_mc.attachMovie("bingo" + k,"bingo" + bingoCount,6000 + bingoCount);
  540.    _loc1_._x = 220;
  541.    _loc1_._y = 45;
  542.    if(k == 1)
  543.    {
  544.       depth = i * Col;
  545.       _loc1_._y = box_mc["block_mc" + depth]._y;
  546.    }
  547.    else if(k == 2)
  548.    {
  549.       depth = j;
  550.       _loc1_._x = box_mc["block_mc" + depth]._x;
  551.    }
  552.    bingoCount++;
  553.    Count_Num();
  554.    if(check_level < 9)
  555.    {
  556.       check_level = bingoCount / 5;
  557.    }
  558.    initRemovedBlock(i,j,k);
  559. }
  560. function star_Game()
  561. {
  562.    trace("-------------Start------------");
  563.    this.createEmptyMovieClip("level",10000);
  564.    mc = level.attachMovie("start","start",10000);
  565. }
  566. var Col = 5;
  567. var Row = 5;
  568. var w = 51;
  569. var h = 54;
  570. var s = 2;
  571. var rainbow = 146;
  572. var rainbowFly = 10;
  573. var Bdepth = 1000;
  574. var itemGoldDepth = 5000;
  575. var itemArrowDepth = 5001;
  576. var topDepth = 100000;
  577. var blockCount = 0;
  578. var bfCount = 0;
  579. var successLine = 0;
  580. var line = 0;
  581. var turnCount = 0;
  582. var rainbowCount = 0;
  583. var bfTotal = 0;
  584. var bfGolden = 0;
  585. var bfArrow = 0;
  586. var score = 0;
  587. var bingoCount = 0;
  588. var playMode = 0;
  589. var ratio = 0.7;
  590. var fly_count = 0;
  591. var frame = 0;
  592. var flyObj;
  593. var block_check = new Array();
  594. var check_level = 0;
  595. var Item_sNum = 1;
  596. var total_block = 0;
  597. var iTems_status = false;
  598. var Item_Num;
  599. stop();
  600. init();
  601. star_Game();
  602.